Infinity-Create-User-House names a function, with lambda list (D USER RECIPIENT/S):
Either claim the user's house and lot, or add a room to their house.
Lisp CREATE-USER-HOUSE = JSON createUserHouse
{ lot: LOT-ID,
house: HOUSE-ID }
{ index: ROOM-INDEX,
connectTo: ROOM-INDEX,
connectAt: CONNECTION-POINT-MONIKER }
{ query: "houses" }
Returns data describing the user's lot for the first two forms, or data describing houses and rooms available in the third form.
When the player has found an empty lot and wishes to claim it as their own, they choose a base house and send
{ lot: lot-ID, house: house-ID }
When the player has a house and wishes to add a room, they send
{ index: roomIndex,
connectTo: roomIndex,
connectAt: pointMoniker }
Connection point monikers need to be obtained from the house design.
{ query: "houses" }
This queries the list of houses and rooms available. UNIMPLEMENTED. This command was added in Romance 2.0 so that the client need not be updated with all available houses and rooms.
Returns an enumeration of houses and rooms available as follows:
{ houses: [ { name: "NAME",
description: "DESCRIPTION",
preview: "URL",
moniker: "UUID",
rooms: [ { id: "UUID",
connect: { "MONIKER": "UUID", ... },
preview: "URL" },
... ] },
... ] }
Each house has a list of rooms. The first room in each house is the
default, and is the room created when the lot is first claimed.
The houses themselves have visible names, descriptions, and preview
URLs (also relative to the same base Buildings URL). The client
should give the user the opportunity to select a house from this set
by browsing their names, descriptions, and preview graphics.
Rooms have connection points with monikers. Each room has a preview
URL which is an image file (e.g. a PNG) relative to the base URL
https://jumbo.tootsville.org/Assets/Buildings/5/. The preview
can be shown to the user when they are choosing to connect a new
room. Rooms have no established names --- we want to allow the players
full freedom to develop each room as they like.
WRITEME
201 Created --- Add house or add room
A house or room was created as demanded.
Returns a description of the house as follows:
WRITEME
409 Conflict
A house already exists on that lot, or, a room is already connected at
the given connection point. The request cannot be completed because
something already exists where the new construction was meant to
be placed.
404 Not Found
The house ID or room connection point given was not found.
Changes from 1.2 to 2.0
In 1.2 adding a room required only an index.
In 2.0 we added the
query: "houses"
form; in 1.2 (and
prior) the client had a hard-coded list of available houses and rooms
for each.
Changes from 1.1 to 1.2
In 1.1, houses could have only one room
File
Defined in file src/infinity/legacy-commands.lisp.